///#begin en
//
//  Copyright (c) 2016 MyCamCloud. All rights reserved.
//
///#end

///#begin zh-cn
/**
 *  @brief  UMWebDef web协议-宏定义
 *  @since  v2.4.10.0
 */
///#end
///#begin en
///#end

#define UM_WEB_API_WS                   @"umeye_ws_api"
#define UM_WEB_API_HTTP                 @"umeye_api"

/** @brief 协议头  */
#define UM_WEB_API_WS_HEAD              @"h"
/** @brief 协议数据内容  */
#define UM_WEB_API_WS_BODY              @"b"

//协议头
/** @brief 版本，必填  */
#define UM_WEB_API_WS_HEAD_V            @"v"

/** @brief 版本号  */
#define UM_WEB_API_WS_HEAD_V_1          1

/** @brief 消息ID，必填  */
#define UM_WEB_API_WS_HEAD_I            @"i"

/** @brief 会话(session)ID，可选  */
#define UM_WEB_API_WS_HEAD_S            @"s"

/** @brief 服务端处理消息时出现错误后返回给客户端的错误代码,主要沿用HTTP的状态码定义，可选  */
#define UM_WEB_API_WS_HEAD_E            @"e"

#define UM_WEB_API_WS_BODY_IP_AUTH_KEY      @"SERVER_AUTH_%@_%@_%@" //服务器域名+客户定制标识+用户名
#define UM_WEB_API_WS_BODY_IP_UST_KEY       @"SERVER_UST_%@_%@_%@"  //服务器域名+客户定制标识+用户名
#define UM_WEB_API_WS_BODY_PORT_AUTH_KEY    @"SERVER_AUTH_PORT_%@_%@_%@" //服务器域名+客户定制标识+用户名
#define UM_WEB_API_WS_BODY_PORT_UST_KEY     @"SERVER_UST_PORT_%@_%@_%@"  //服务器域名+客户定制标识+用户名


#define UM_WEB_API_WS_BODY_PWDENC_ENCKEY    "uj5hy6&th@erR45%^&f32edFDwE2oi%dsjskj-ll@lk%^67*sjdymnch+-874h5jk976267oijt58$l864%&nd&,xbbdawq2140-$09lio86tY98fds35098kkjju89"

#define UM_WEB_API_WS_LOG   @"UM_WS"

//#define DEBUG 1
#if DEBUG
#define UMWebLog(format, ...)  NSLog(format, ## __VA_ARGS__)
#define UMWebLogSize(p)   NSLog(@"Size:%f,%f", p.width, p.height);
#define UMWebLogRect(p)   NSLog(@"Rect:%f,%f %f,%f", p.origin.x, p.origin.y, p.size.width, p.size.height);
#define UMWebLogPoint(p)  NSLog(@"Point:%f,%f", p.x, p.y);
#else
#define UMWebLog(format, ...)
#define UMWebLogSize(p)   //NSLog(@"Size:%f,%f", p.width, p.height);
#define UMWebLogRect(p)   //NSLog(@"Rect:%f,%f %f,%f", p.origin.x, p.origin.y, p.size.width, p.size.height);
#define UMWebLogPoint(p)  //NSLog(@"Point:%f,%f", p.x, p.y);
#endif

enum{
    //websocked协议
    UM_WEB_API_TYPE_WS = 1,
    /** @brief  http协议  */
    UM_WEB_API_TYPE_HTTP = 2,
};
/** @brief  协议类型  */
typedef int UM_WEB_API_TYPE;

enum{
    /** @brief  协议头解析错误  */
    UM_WEB_API_ERROR_ID_HEAD = 1,
    /** @brief  消息ID解析错误  */
    UM_WEB_API_ERROR_ID_MSGID = 2,
    /** @brief  协议主体解析错误  */
    UM_WEB_API_ERROR_ID_BODY = 3,
    /** @brief  不支持该功能  */
    UM_WEB_API_ERROR_ID_NOSUPPORT = 4,
    /** @brief  成功  */
    UM_WEB_API_ERROR_ID_SUC = 200,
    /** @brief  连接失败  */
    UM_WEB_API_ERROR_ID_CONN = 400,
};
/** @brief  错误ID  */
typedef int UM_WEB_API_ERROR_ID;


enum{
    /** @brief  未知  */
    UM_WEB_API_WS_HEAD_I_NONE = 0,
    /** @brief  获取最优的认证、ust服务器地址  */
    UM_WEB_API_WS_HEAD_I_AUTHUST = 100,
    /** @brief  获取认证、ust服务器地址列表  */
    UM_WEB_API_WS_HEAD_I_AUTHUSTLIST = 101,
    /** @brief  用户注册  */
    UM_WEB_API_WS_HEAD_I_USER_REGISTER = 201,
    /** @brief  用户登录  */
    UM_WEB_API_WS_HEAD_I_USER_LOGIN = 202,
    /** @brief  用户注销  */
    UM_WEB_API_WS_HEAD_I_USER_LOGOUT = 203,
    /** @brief  用户权限  */
    UM_WEB_API_WS_HEAD_I_USER_RIGHTS = 206,
    /** @brief  用户密码修改  */
    UM_WEB_API_WS_HEAD_I_USER_MODIFYPWD = 210,
    /** @brief  重置密码到邮箱  */
    UM_WEB_API_WS_HEAD_I_USER_RESETPWD = 211,
    /** @brief  查询目录/设备/摄像机节点  */
    UM_WEB_API_WS_HEAD_I_DEVICE_QUERY = 231,
    /** @brief  添加目录/设备/摄像机节点  */
    UM_WEB_API_WS_HEAD_I_DEVICE_ADD = 232,
    /** @brief  删除目录/设备/摄像机节点  */
    UM_WEB_API_WS_HEAD_I_DEVICE_DEL = 233,
    /** @brief  修改目录/设备/摄像机节点  */
    UM_WEB_API_WS_HEAD_I_DEVICE_MODIFY = 234,
    /** @brief  报警信息查询  */
    UM_WEB_API_WS_HEAD_I_ALARM_LOG_QUERY = 261,
    /** @brief  报警信息删除  */
    UM_WEB_API_WS_HEAD_I_ALARM_DEL = 262,
    /** @brief  报警布放信息查询 */
    UM_WEB_API_WS_HEAD_I_ALARM_INFO_QUERY = 271,
    /** @brief  报警布放、撤防  */
    UM_WEB_API_WS_HEAD_I_ALARM_SET = 272,
    /** @brief  报警通知设置  */
    UM_WEB_API_WS_HEAD_I_ALARM_PUSH_SET = 273,
    /** @brief  查询用户推送信息  */
    UM_WEB_API_WS_HEAD_I_USER_PUSH_QUERY = 278,
    /** @brief  设置用户推送信息  */
    UM_WEB_API_WS_HEAD_I_USER_PUSH_SET = 279,
    /** @brief  查询客户端最新版本信息  */
    UM_WEB_API_WS_HEAD_I_CLIENT_NEWVERSION = 301,
    /** @brief  幼儿园公告   */
    UM_WEB_API_WS_HEAD_I_KINDERGARTEN_BULLETIN = 401,
    /** @brief  幼儿园学生信息   */
    UM_WEB_API_WS_HEAD_I_KINDERGARTEN_PUPILINFO = 402,
    /** @brief  幼儿园食谱   */
    UM_WEB_API_WS_HEAD_I_KINDERGARTEN_RECIPES = 403,
    /** @brief  幼儿园课程表   */
    UM_WEB_API_WS_HEAD_I_KINDERGARTEN_TIMETABLES = 404,
    
};
/** @brief 协议头-消息ID  */
typedef int UM_WEB_API_WS_HEAD_I_ID;

enum{
    /** @brief  win电脑  */
    UM_WEB_API_WS_CLIENT_TYPE_PC = 1,
    /** @brief  iphone  */
    UM_WEB_API_WS_CLIENT_TYPE_IPHONE = 2,
    /** @brief  andriod手机  */
    UM_WEB_API_WS_CLIENT_TYPE_ANDROID_PHONE = 3,
    /** @brief  ipad  */
    UM_WEB_API_WS_CLIENT_TYPE_IPAD = 4,
    /** @brief  android pad  */
    UM_WEB_API_WS_CLIENT_TYPE_ANDROID_PAD = 5,
    /** @brief  win web  */
    UM_WEB_API_WS_CLIENT_TYPE_WEB_OCX = 6,
    /** @brief  mac电脑  */
    UM_WEB_API_WS_CLIENT_TYPE_MAC = 7,
    /** @brief  Windows Phone  */
    UM_WEB_API_WS_CLIENT_TYPE_WINPHONE = 8,
    /** @brief  Safari  */
    UM_WEB_API_WS_CLIENT_TYPE_SAFARI = 9,
    /** @brief  小区报警监听PC客户端  */
    UM_WEB_API_WS_CLIENT_TYPE_VIALARM_PC = 30,
    
};
/** @brief  客户端类型  */
typedef int UM_WEB_API_WS_CLIENT_TYPE;

enum {
    /** @brief  英文  */
    UM_WEB_API_WS_LANG_TYPE_EN = 1,
    /** @brief  中文简体  */
    UM_WEB_API_WS_LANG_TYPE_ZH = 2,
    /** @brief  中文繁体  */
    UM_WEB_API_WS_LANG_TYPE_ZH_HK = 3,
};
/** @brief  语言类型  */
typedef int UM_WEB_API_WS_LANG_TYPE;

enum{
    /** @brief  所有厂家  */
    UM_WEB_API_WS_VENDOR_ID_ALL = 0,
    /** @brief  华科流媒体协议（bit）  */
    UM_WEB_API_WS_VENDOR_ID_NSPB = 1001,
    /** @brief  华科流媒体协议（XML）  */
    UM_WEB_API_WS_VENDOR_ID_NSPX = 1002,
    /** @brief  华科流媒体协议（JSON）  */
    UM_WEB_API_WS_VENDOR_ID_NSPJ = 1003,
    /** @brief  华科流媒体协议（OWSP）  */
    UM_WEB_API_WS_VENDOR_ID_OWSP = 1004,
    /** @brief  原华科流媒体服务器协议（HKSP）  */
    UM_WEB_API_WS_VENDOR_ID_HKSP = 1005,
    /** @brief  文件摄像机协议（FCAM）  */
    UM_WEB_API_WS_VENDOR_ID_FCAM = 1006,
    /** @brief  华科监控通讯协议（HMCP）  */
    UM_WEB_API_WS_VENDOR_ID_HMCP = 1007,
    /** @brief  华科设备上连协议（HDTP）NTS  */
    UM_WEB_API_WS_VENDOR_ID_HDTP = 1008,
    /** @brief  UMSP  */
    UM_WEB_API_WS_VENDOR_ID_UMSP = 1009,
    /** @brief  EPMY  */
    UM_WEB_API_WS_VENDOR_ID_EPMY = 1010,
    /** @brief  RTSP  */
    UM_WEB_API_WS_VENDOR_ID_RTSP = 1010,
    /** @brief  HTTP  */
    UM_WEB_API_WS_VENDOR_ID_HTTP = 1011,
    /** @brief  SIP  */
    UM_WEB_API_WS_VENDOR_ID_SIP = 1012,
    /** @brief  RTMP  */
    UM_WEB_API_WS_VENDOR_ID_RTMP = 1013,
    /** @brief  杭州海康（通用参数解析）  */
    UM_WEB_API_WS_VENDOR_ID_HZHK = 2010,
    /** @brief  杭州海康推模式  */
    UM_WEB_API_WS_VENDOR_ID_HKPU = 2011,
    /** @brief  杭州大华（通用参数解析）  */
    UM_WEB_API_WS_VENDOR_ID_HZDH = 2020,
    /** @brief  深圳锐明（通用参数解析）  */
    UM_WEB_API_WS_VENDOR_ID_SZRM = 2030,
    /** @brief  深圳黄河（通用参数解析）  */
    UM_WEB_API_WS_VENDOR_ID_SZHH = 2040,
    /** @brief  深圳汉邦（通用参数解析）  */
    UM_WEB_API_WS_VENDOR_ID_SZHB = 2050,
    /** @brief  杭州雄迈（通用参数解析）  */
    UM_WEB_API_WS_VENDOR_ID_HZXM = 2060,
    /** @brief  中山立堡（通用参数解析）  */
    UM_WEB_API_WS_VENDOR_ID_ZSLB = 2070,
    /** @brief  成都索贝（通用参数解析）  */
    UM_WEB_API_WS_VENDOR_ID_CDSB = 2080,
    /** @brief  上海皓维（通用参数解析）  */
    UM_WEB_API_WS_VENDOR_ID_SHHW = 2090,
    /** @brief  金三立（通用参数解析）  */
    UM_WEB_API_WS_VENDOR_ID_JSLP = 2100,
    /** @brief  上海通立  */
    UM_WEB_API_WS_VENDOR_ID_SHTL = 2110,
    /** @brief  深圳郎驰（通用参数解析）  */
    UM_WEB_API_WS_VENDOR_ID_SZLC = 2120,
    /** @brief  网视通（通用参数解析）  */
    UM_WEB_API_WS_VENDOR_ID_WST = 2130,
    /** @brief  广州奇幻（通用参数解析）  */
    UM_WEB_API_WS_VENDOR_ID_GZQH = 2140,
    /** @brief  安联锐视（通用参数解析）  */
    UM_WEB_API_WS_VENDOR_ID_ALRS = 2150,
    /** @brief  广州佳可（通用参数解析）  */
    UM_WEB_API_WS_VENDOR_ID_GZJK = 2160,
    /** @brief  深圳旗翰（通用参数解析）  */
    UM_WEB_API_WS_VENDOR_ID_SZQH = 2170,
    /** @brief  瀚晖威视（通用参数解析）  */
    UM_WEB_API_WS_VENDOR_ID_HHWS = 2180,
};
/** @brief  设备协议ID  */
typedef int UM_WEB_API_WS_VENDOR_ID;
